AWS re:Invent 2019 Day.1 - Hackathon
https://gyazo.com/2db2dd623c5a479520c8d423a40c620b
https://gyazo.com/4d3789160d72a361726eb6856a8656ce
re:Invent 2019 初日は技術セッションには参加せずにハッカソンに参加
→ HAC05 - Non-Profit Hackathon for Good @ MGM Grand
会場に到着したらまずはチームを組むところからスタート。
チームの構成がバランス良くなるように、自分の専門領域を5つの中から宣言するところから始まる。
Frontend Engineer
Backend Engineer
Infra / Ops Engineer
Architect
Machine Learning Specialist (だったかな?)
スタッフさんの案内で、たまたま会場の入口にいた知らない人同士でチームが組まれた。ウチのチームはFrontend Engineer、Backend Engineer (自分)、Architect、Machine Learning Specialistの計4名でスタート。途中でFrontend Engineer氏の同僚らしき人 (専門領域が不明) が合流して5名に。インフラエンジニアが不在。まぁ今の時代、インフラエンジニアはいなくても何とかなるだろう。
ところで、Hackathon会場に日本人っぽい人はほとんど見かけなかった。re:Inventに日本人たくさん来てるはずだけど、Hackathonに興味ある人は少なかったのかな。2人組みで参加している人はいたけど、単独参加は自分ぐらいだったかもしれない。
Time Table
9:00 AM Doors open
10:00 AM Kick off
10:30 AM Start Coding
12:30 PM Lunch
1PM – 7PM 10 minute massages
5:30 PM Happy Hour
6:00 PM Coding ends; Round 1 judging, 3 minutes each
7:00 PM Finalists present on stage
7:45 PM Announce winners and prizes!
ハッカソンは4つのテーマの中から好きなテーマをチームで相談して決めるスタイル。軽く自己紹介した後に、テーマ決めのディスカッションからスタート。
ウチのチームが選択したテーマは Urban Institute 社の提供のもので、ワシントンDCの様々な建物データを使って学習モデルを一般化し、全国で利用できるようにする、というもの。VisualizeするためのFrontend技術、Frontendと学習結果を結びつけるためのバックエンドサービス構築、機械学習によるモデル生成などが必要とされる。個人的には4つのテーマの中で最も難しそうに感じたテーマ。課題に目を通してみるものの、そもそもGeoJsonとかLidarデータとか、全然知らないものが多くて最初は意味不明だった。直感的にはとても1日で実装できる課題とは思えなかったが、なぜこのテーマにしたのかは後から考えてもよくわからない。 ちなみに会場全体で40チームぐらいあったが、このテーマを選択したのはウチのチームだけという。。。
最初にテーマについて雑談、どういった技術要素が必要なのかをディスカッション。GeoJsonデータを食わせるといい感じにVisualizeしてくれるWebサイトで遊んでみたり、GeoJsonのデータフォーマットを勉強したり。
調査したもの
その後、Architect氏のリードによりシステム構成の議論がスタート。自分はBackend APIで必要そうなものをいくつか提案。Machine Learning Specialist氏が、俺がSageMakerでイケてるモデルを作ってやるから任せとけ!と意気込んでいる。いやホントにそこがめちゃ重要だから頼む…!
アーキテクチャが定まると、なぜかArchitect氏は自分の仕事は終わったとばかりにリラックスタイムにww
(その後、彼が手を動かすことはほとんど無かった。そういうもの??)
開発を始めるにあたっては、最初にAWS環境を整えるとともに、SlackのWorkspaceを作ってKnowledge Baseとコミュニケーション環境を構築。Slackのおかげで英語がだいぶ楽になった。F2Fで会話して不明な点があってもSlackでの会話であれば何とかなる。
開発がスタートしてしばらくすると、何やらMachine Learning Specialist氏とArchitect氏が熱心に議論し始めていたが、イマイチ話の内容が理解できないし、とりあえず自分の役割を果たすためにモリモリ実装するモードに。とりあえずサーバーレスでちゃちゃっと4本ほどWeb APIを実装してチームに展開。
https://gyazo.com/aaed27804110375afe3b7e04c49c6d22
と言われたのがこの日のハイライト…w
このあたりでようやくチームの市民権を得た感じに。サーバーレスでサクッとAPIが実装できるというのは、こういうHackathonではすごく強力な武器になることを実感した。
その後、お昼を食べたりおやつを食べたりレッドブルを飲んだりしながら黙々と開発。が、Hackathon終了の1時間前ぐらいにMachine Learning Specialist氏が「こりゃダメだ、SageMakerが全く想定通りに動かん」と言ってまさかのギブアップ。。Frontend Engineer氏も進捗が芳しくなくてギブアップしようと言い出す始末。Architect氏も他の予定が入っているとかで帰ってしまい、志半ばでチームは解散することが決定。自分も既にほとんどMPを消費しきっていたので、これ以上続けるのは厳しかった。人生諦めが肝心なのだ。
というわけでre:Invent 2019最初のイベントは途中棄権という結果で終了。やや消化不良ではあるが、全然知らない外国人たちとガチで肩を並べて開発をするという、非常に良い経験ができた。
反省点や感想など:
やっぱり英語は課題だ。わかっちゃいるんだけど。日本人慣れしていない外国人さんと熱く議論するレベルには全然達していない。特に最初のテーマ選定の議論については、自分はテーマ何でもいいよ的なスタンスだったのが失敗だった。
とは言え、チームの中でまともに機能実装ができたのは自分だけだったし、その点は自信を持って良い部分だとは思う。つまりサーバーレスはいいぞ、ってこと。
Notes:
レッドブル飲み放題w
参加者全員に$100のAWSクーポンが配られる
その他、Amazon印のUSBケーブルやモバイルバッテリー、謎のストレス解消グッズなどがもらえる
Architect氏 (どうやらAT&Tの人) から、AT&Tで働きたければメールしてくれと言われたがさすがに無理だ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -